package org.swxjava.assembler;

public class Constants {

	public static final int TWIPS = 20; // number of TWIPS per pixel

	// Header - FCS (uncompressed), version Flash 6
	public static final byte UNCOMPRESSED_SWF = 0x46;
	public static final byte COMPRESSED_SWF = 0x43;
	public static final String HEADER = "575306LLLLLLLL300A00A0000101004302FFFFFF";

	public static final String FILE_UNCOMPRESSED_SWF = "46";
	public static final String FILE_COMPRESSED_SWF = "43";
	// Action bytecodes
	public static final String ACTION_PUSH = "96";
	public static final String ACTION_SHOW_FRAME = "4000";
	public static final String ACTION_END_SWF = "0000";
	public static final String ACTION_SET_VARIABLE = "1D"; // 00
	public static final String ACTION_DO_ACTION = "3F03";
	public static final String ACTION_NEW_OBJECT = "40";
	public static final String ACTION_INIT_ARRAY = "42";
	public static final String ACTION_INIT_OBJECT = "43";

	// Data type codes
	public static final String DATA_TYPE_STRING = "00";
	public static final String DATA_TYPE_FLOAT = "01";
	public static final String DATA_TYPE_NULL = "02";
	public static final String DATA_TYPE_BOOLEAN = "05";
	public static final String DATA_TYPE_DOUBLE = "06";
	public static final String DATA_TYPE_INTEGER = "07";

	// Class names
	public static final String CLASS_DATE = "44617465"; // Date
	// Misc
	public static final String NULL_TERMINATOR = "00";

	public static final String NUMBER_NAN = "060000F87F00000000";

	// Allow domain (*)
	public static final String ALLOW_DOMAIN = "960900005F706172656E74001C960600005F75726C004E960D0007010000000053797374656D001C960A00007365637572697479004E960D0000616C6C6F77446F6D61696E005217";
	public static final String SYSTEM_ALLOW_DOMAIN = "07010000000053797374656D001C960A00007365637572697479004E960D0000616C6C6F77446F6D61696E005217";

	public static final int TAG_END = 0;
	public static final int TAG_SHOWFRAME = 1;
	public static final int TAG_DEFINESHAPE = 2;
	public static final int TAG_FREECHARACTER = 3;
	public static final int TAG_PLACEOBJECT = 4;
	public static final int TAG_REMOVEOBJECT = 5;
	public static final int TAG_DEFINEBITS = 6;
	public static final int TAG_DEFINEBUTTON = 7;
	public static final int TAG_JPEGTABLES = 8;
	public static final int TAG_SETBACKGROUNDCOLOR = 9;
	public static final int TAG_DEFINEFONT = 10;
	public static final int TAG_DEFINETEXT = 11;
	public static final int TAG_DOACTION = 12;
	public static final int TAG_DEFINEFONTINFO = 13;
	public static final int TAG_DEFINESOUND = 14;
	public static final int TAG_STARTSOUND = 15;
	// ???
	public static final int TAG_DEFINEBUTTONSOUND = 17;
	public static final int TAG_SOUNDSTREAMHEAD = 18;
	public static final int TAG_SOUNDSTREAMBLOCK = 19;
	public static final int TAG_DEFINEBITSLOSSLESS = 20;
	public static final int TAG_DEFINEBITSJPEG2 = 21;
	public static final int TAG_DEFINESHAPE2 = 22;
	public static final int TAG_DEFINEBUTTONCXFORM = 23;
	public static final int TAG_PROTECT = 24;
	// ???
	public static final int TAG_PLACEOBJECT2 = 26;
	// ???
	public static final int TAG_REMOVEOBJECT2 = 28;
	// ???
	public static final int TAG_DEFINESHAPE3 = 32;
	public static final int TAG_DEFINETEXT2 = 33;
	public static final int TAG_DEFINEBUTTON2 = 34;
	public static final int TAG_DEFINEBITSJPEG3 = 35;
	public static final int TAG_DEFINEBITSLOSSLESS2 = 36;
	public static final int TAG_DEFINETEXTFIELD = 37;
	public static final int TAG_DEFINEQUICKTIMEMOVIE = 38;
	public static final int TAG_DEFINESPRITE = 39;
	public static final int TAG_NAMECHARACTER = 40;
	public static final int TAG_SERIALNUMBER = 41;
	public static final int TAG_GENERATOR_TEXT = 42;
	public static final int TAG_FRAMELABEL = 43;
	// ???
	public static final int TAG_SOUNDSTREAMHEAD2 = 45;
	public static final int TAG_DEFINEMORPHSHAPE = 46;
	// ???
	public static final int TAG_DEFINEFONT2 = 48;
	public static final int TAG_TEMPLATECOMMAND = 49;
	// ???
	public static final int TAG_FLASHGENERATOR = 51;
	public static final int TAG_GEN_EXTERNAL_FONT = 52;
	// ???
	// ???
	// ???
	public static final int TAG_EXPORT = 56;
	public static final int TAG_IMPORT = 57;
	public static final int TAG_ENABLEDEBUG = 58;
	public static final int TAG_DOINITACTION = 59;
	// ???
	// ???
	public static final int TAG_DEFINEFONTINFO2 = 62;
	// ???
	public static final int TAG_ENABLEDEBUGGER2 = 64;
}
